#ifndef CONCRETEFACTORY_H
#define CONCRETEFACTORY_H

#include<ifactory.h>
#include<concreteproduct.h>.h>
class FactoryA:public IFactory{
public:
     IProductA *CreateProductA() override{
        return new AProductA();
    }
     IProductB* CreateProductB()override{
         return new AProductB();
    }
};

class FactoryB:public IFactory{
public:
    IProductA *CreateProductA() override{
        return new BProductA();
   }
    IProductB* CreateProductB()override{
        return new BProductB();
   }

};
class FactoryC:public IFactory{
public:
    IProductA *CreateProductA() override{
        return new CProductA();
   }
    IProductB* CreateProductB()override{
        return new CProductB();
   }

};

#endif // CONCRETEFACTORY_H
